package com.huanf.read.simple;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.junit.jupiter.api.Test;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * @author: 35238
 * 功能: 读取Excel表格的一个小格子。由于表格是xls尾缀的，所以用Workbook接口的HSSFWorkbook子实现类去读取这个表格
 * 时间: 2023-12-22 21:07
 */
public class Xls03Read {

    //表格的位置。为了方便写的是项目路径
    String PATH = "E:\\桌面\\Java-Ready\\conf\\Excel\\";

    @Test
    void Xls03SimpleRead() throws IOException {

        //读取表格
        FileInputStream fileInputStream = new FileInputStream(PATH + "readExcel.xls");

        //由于表格是xls尾缀的，所以用Workbook接口的HSSFWorkbook子实现类去读取这个表格
        Workbook workbook = new HSSFWorkbook(fileInputStream);

        //获取表格里面的数据。0表示获取第一个表。因为你表格左下角位置可能会显示多个表，例如sheet1、sheet2、sheet3
        Sheet sheet = workbook.getSheetAt(0);

        //获取行。0表示获取第一行
        Row row = sheet.getRow(0);

        //获取列。0表示获取第一列
        Cell cell = row.getCell(0);

        //读取格(上面的一行一列就组成一个格子，就是读取第一格)。第一格必须是字符串类型，不然getStringCellValue读取不到
        System.out.println(cell.getStringCellValue());
        fileInputStream.close();
    }
}
